home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / dtype / fontdt12.lha / Src / classbase.h < prev    next >
C/C++ Source or Header  |  1996-05-06  |  2KB  |  77 lines

  1. /*
  2. **    classbase.h - include file for Font DataType class
  3. **    Copyright © 1995-96 Michael Letowski
  4. */
  5.  
  6. #ifndef CLASSBASE_H
  7. #define CLASSBASE_H
  8.  
  9. #ifndef EXEC_TYPES_H
  10. #include <exec/types.h>
  11. #endif
  12.  
  13. #ifndef EXEC_EXECBASE_H
  14. #include <exec/execbase.h>
  15. #endif
  16.  
  17. #ifndef EXEC_LIBRARIES_H
  18. #include <exec/libraries.h>
  19. #endif
  20.  
  21. #ifndef EXEC_SEMAPHORES_H
  22. #include <exec/semaphores.h>
  23. #endif
  24.  
  25. #ifndef DOS_DOS_H
  26. #include <dos/dos.h>
  27. #endif
  28.  
  29. #ifndef SUPPORT_EXEC_H
  30. #include <support/exec.h>
  31. #endif
  32.  
  33.  
  34. /*
  35. **    Global library base
  36. */
  37. struct ClassBase
  38. {
  39.     struct Library         cb_Lib;                                /* Library data */
  40.     struct SignalSemaphore cb_Lock;                                /* Access lock */
  41.     BPTR                   cb_SegList;
  42.     struct ExecBase          *cb_SysBase;
  43.     struct Library          *cb_DOSBase;
  44.     struct Library          *cb_IntuitionBase;
  45.     struct Library          *cb_GfxBase;
  46.     struct Library          *cb_UtilityBase;
  47.     struct Library          *cb_DataTypesBase;
  48.     struct Library          *cb_DiskfontBase;
  49.     struct Library          *cb_SuperClassBase;
  50.     Class                              *cb_Class;
  51. };    /* ClassBase */
  52.  
  53.  
  54. /*
  55. **    Macros for tagcall's
  56. */
  57. #define SysBase                (cb->cb_SysBase)
  58. #define DOSBase                (cb->cb_DOSBase)
  59. #define UtilityBase        (cb->cb_UtilityBase)
  60. #define    IntuitionBase    (cb->cb_IntuitionBase)
  61. #define    GfxBase                (cb->cb_GfxBase)
  62. #define    DataTypesBase    (cb->cb_DataTypesBase)
  63. #define    DiskfontBase    (cb->cb_DiskfontBase)
  64.  
  65.  
  66. /*
  67. **    Prototypes
  68. */
  69. ASM Class *ObtainFontEngine(R_A6 struct ClassBase *cb);
  70. ASM struct ClassBase *LibInit(R_D0 struct ClassBase *cb, R_A0 BPTR segList,
  71.                                                             R_A6 struct Library *sysBase);
  72. ASM struct ClassBase *LibOpen(R_A6 struct ClassBase *cb);
  73. ASM BPTR LibClose(R_A6 struct ClassBase *cb);
  74. ASM BPTR LibExpunge(R_A6 struct ClassBase *cb);
  75.  
  76. #endif    /* CLASSBASE_H */
  77.